package com.zgg.files.service;

import com.zgg.config.datasource.DataSource;
import com.zgg.files.bean.OrderFile;

import java.util.List;

/**
 * @author 
 *
 */
public interface OrderFileService {
	
	/**
     * 新增文件信息
     * @param orderFile 文件信息对象
     */
	@DataSource(value = "old_files")
	void saveOrderFile(OrderFile orderFile);

	/**
     * 修改文件信息
     * @aparam orderFile 文件信息对象
     */
	@DataSource(value = "old_files")
	void updateOrderFile(OrderFile orderFile);

	/**
     * 根据文件信息id查询详情
     * @param id 主键id
     * @return OrderFile
     */
	@DataSource(value = "old_files")
	OrderFile getOrderFileById(Integer id);

	/**
     * 根据文件信息条件查询列表
     * @param orderFile  实体条件
     * @return List<OrderFile> 文件信息实体列表
     *
     */
	@DataSource(value = "old_files")
	List<OrderFile> getOrderFileList(OrderFile orderFile);


	/**
     * 根据文件信息条件查询列表（含排序）
     * @param orderFile  实体条件
     * @param orderByStr  排序字段。举例：id asc
     * @return List<OrderFile> 文件信息实体列表
     */
	@DataSource(value = "old_files")
	List<OrderFile> getOrderFileListByParam(OrderFile orderFile, String orderByStr);


//	/**
//     * 根据文件信息条件查询列表（分页）
//     * @param orderFile  实体条件
//     * @param pageParam  必需属性pageNo，pageSize
//     * @return PageResult<OrderFile> 文件信息实体列表
//     */
//	List<OrderFile> findOrderFilePageByParam(OrderFile orderFile, PageParam pageParam);
//
//	/**
//     * 根据文件信息条件查询列表（分页，含排序）
//     * @param orderFile  实体条件
//     * @param  pageParam  必需属性pageNo，pageSize
//     * @param  orderByStr  排序字段。举例：id asc
//     * @return PageResult<OrderFile> 文件信息实体列表
//     */
//	PageResult<OrderFile> findOrderFilePageByParam(OrderFile orderFile, PageParam pageParam, String orderByStr);
	
	
	/**
     * 根据文件信息id删除(物理删除)
     * @param id  主键id
     */
	@DataSource(value = "old_files")
	void deleteOrderFileById(Integer id);

	/**根据pathCode返回文件基本信息
	 * @param pathCode
	 * @return
	 */
	@DataSource(value = "old_files")
	OrderFile getOrderFileByPathCode(String pathCode);

}

